/* 
 * File:   Rule.h
 * Author: itu
 *
 * Created on November 26, 2011, 9:36 PM
 */
#include "Symbol.h"
#include <vector>

#ifndef RULE_H
#define	RULE_H

class Rule {
public:
    Rule();
    Rule(Symbol*);
    void addSymbol(Symbol*);
    vector<Symbol*> getSymbols();
    virtual void printSymbols();
    bool hasSymbol(Symbol*);
    void setNonterminal(Symbol*);
    Symbol* getNonterminal();
    void setNumber(int);
    int getNumber();
    string getRuleString();
protected:
    vector<Symbol*> symbols;
    Symbol *nonterminal;
    int number; //Rule number;
};

#endif	/* RULE_H */

